var swiperId=CommonUtils.uncompile(CommonUtils.getQueryString("swiperId"));
var iframeName = CommonUtils.getQueryString("iframeName");
$(function(){
    // 表单验证初始化
    initFormValid();
    // 初始化图片文件选择框
    $('#file-pretty input[type="file"]').prettyFile({text:"请选择..."});
    // 图片上传操作
    initUploadImage();

    // 产品填充
    product();

    // 保存按钮点击事件
    $("#btnSave").click(function() {
        saveAtt();// 保存数据
    });
    // 关闭选项卡
    $('#btnEnd').on('click', function(ev) {
        closeMenuTab();
    });
    if(swiperId){
        // 保存按钮显示
        $("#btnSave").show();
        // 重置表单
        $("#swiperForm").get(0).reset();
        // 重置验证
        initFormValid().resetForm();
        $("#swiperForm").find(".has-error").removeClass("has-error");
        // 查询产品详细信息
        var swiperInfo = findSwiperInfo(swiperId);
        // 填充表单数据
        CommonUtils.fillFormData("#swiperForm", JSON.stringify(swiperInfo));
        // 填充图片
        showHeadImg($("#swiperForm"), swiperInfo.swiperUrl);
        // 填充隐藏productId
        $("#swiperForm").find("#swiperId").val(swiperId);

    }else{ // 不存在新建
        $("#btnSave").hide();
    }
});

//表单验证初始化
var initFormValid = function() {
    var e = "<i class='fa fa-times-circle'></i> ";
    var validate = $("#swiperForm").validate(
        {
            rules : {
                swiperTitle : "required",
                swiperContent: "required",
                productId: {
                    required:true,
                    min:1
                }
            },
            messages : {
                swiperTitle : e + "请输入标题",
                swiperContent : e + "请输入摘要",
                productId : e + "请选择产品",

            },
            highlight : function(e) {
                if (e.type == "radio" || e.type == "checkbox") {
                    $(e).parent().parent().parent().removeClass(
                        "has-success").addClass("has-error");
                } else {
                    $(e).parent().parent().removeClass("has-success")
                        .addClass("has-error");
                }
            },
            success : function(e) {
                if (e.type == "radio" || e.type == "checkbox") {
                    $(e).parent().parent().parent()
                        .removeClass("has-error");// .addClass("has-success")
                } else {
                    $(e).parent().parent().removeClass("has-error");// .addClass("has-success")
                }
            },
            errorElement : "span",
            errorPlacement : function(e, r) {
                if (r.is(":radio") || r.is(":checkbox")) {
                    e.appendTo(r.parent().parent());
                } else {
                    e.appendTo(r.parent());
                }
            },
            errorClass : "help-block m-b-none",
            validClass : "help-block m-b-none"
        });
    return validate;
}

//保存产品资料
var saveAtt = function() {
    // 验证表单数据
    if (!$("#swiperForm").valid()) {
        return;
    }
    if($("#swiperUrl").val() == null || $("#swiperUrl").val() == ""){
        swal({
            title : "很抱歉",
            text : "请上传图片",
            type : "info"
        });
        return;
    }
    // 获取表单元素所有数据集合
    var formData = CommonUtils.getFormJson('#swiperForm');
    var url = null;
    if (swiperId) {// 修改
        url = "/init/swiper/updateSwiper";
        formData.swiperId = swiperId
    }
    var dataParam = getSwiper(formData);
    // 请求后台
    $.ajax({
        url : url,
        data : CommonUtils.encapsulationData(dataParam),
        type : 'post',
        dataType : 'json',
        contentType : "application/json",
        success : function(data) {
            if (data.result) {
                // 消息提示款
                swal({
                    title : "恭喜您",
                    text : data.msg,
                    type : "success"
                }, function() {
                    window.parent.frames[iframeName].location.reload();
                    closeMenuTab();//关闭当前选项卡
                });
            } else {
                // 消息提示款
                swal({
                    title : "很抱歉",
                    text : data.msg,
                    type : "error"
                });
            }
        },
        error : function(req, status, err) {
            // 消息提示款
            errorFunc(req, status, err);
        }
    });
};

//查询产品下拉列表
var product = function() {
    var productHtml = "<option value=''>请选择产品</option>";
    $.ajax({
        url : '/init/product/findProductsList',
        data : CommonUtils.encapsulationData({}),
        type : 'post',
        dataType : 'json',
        async : false,// 同步请求
        contentType : "application/json",
        success : function(data) {
            if (null != data) {
                for (var i=0;i<data.length;i++) {
                    productHtml += "<option value="+data[i].productId+">"+data[i].productTitleOne+"</option>";
                }
            }
        },
        error : function(req, status, err) {
            // 消息提示款
            errorFunc(req, status, err);
        }
    });
    $("#productId").append(productHtml);
}

//查询轮播图详细信息
var findSwiperInfo = function(swiperId) {
    var swiperInfo = null;
    $.ajax({
        url : '/init/swiper/findSwiper',
        data : CommonUtils.encapsulationData({
            swiperId : swiperId
        }),
        type : 'post',
        dataType : 'json',
        async : false,// 同步请求
        contentType : "application/json",
        success : function(data) {
            if (null != data) {
                swiperInfo = data;
            }
        },
        error : function(req, status, err) {
            // 消息提示款
            errorFunc(req, status, err);
        }
    });
    return swiperInfo;
}
//上传图片
var initUploadImage = function(){
    // 图片上传
    $(document).on('change', "input[accept='image/*']", function(){
        if(this.files.length > 1){
            // 消息提示款
            swal({title : "很抱歉",text : "上传图片总数不能超过1个！",type : "info"});
            return;
        }
        for(var i = 0; i < this.files.length; i++){
            //文件后缀
            var filePostfix = this.files[i].name.split('.').splice(-1).toString().toLowerCase();
            if(!/(jpg|png|jpeg)$/.test(filePostfix)){
                // 消息提示款
                swal({title : "很抱歉",text : "上传封面图片格式错误！",type : "info"});
                return;
            }
            //文件大小判断
            var fileSize = this.files[i].size;
            if(fileSize>5*1024*1024){
                // 消息提示款
                swal({title : "很抱歉",text : "上传封面图片最大不能超过5M！",type : "info"});
                return;
            }
        }
        // 创建FormData对象
        var data = new FormData();
        // 为FormData对象添加数据
        $.each($(this)[0].files, function(i, file) {
            data.append('upload_file', file);
        });
        var FileController = '/init/user/upload';
        $.ajax({url:FileController,
            data:data,
            type:'post',
            dataType:'json',
            processData: false,
            contentType: false,
            success:function(rs) {
                if(rs.result){
                    // 消息提示款
                    swal({title : "恭喜您",text : rs.msg,type : "success"},function(){
                        // 显示上传成功图片
                        if(null != rs.url && "" != rs.url){
                            $("#swiperForm").find("#swiperUrl").val(rs.url);
                            $("#swiperForm #divImgDoc").empty();
                            showHeadImg($("#swiperForm"),rs.url);
                        }
                    });
                } else {
                    // 消息提示款
                    swal({title : "很抱歉",text : rs.msg, type : "error"});
                }
            },
            error : function(req, status, err) {
                // 消息提示款
                errorFunc(req, status, err);
            }
        });
    });
}


//拼接加载图片
var showHeadImg = function(from, url){
    // 新增类型下拉控选项值件初始化
    var serverPath = CommonUtils.getServerRoot();
    var imgURL = url;
    from.find("#divIMG").show();
    var img = '<div id="imgItem" style="float:left">';
    img += '<div>';
    img += '<a class="fancybox" href="'+serverPath + imgURL+'" title="封面图片">';
    img += '<img alt="image" id="fileUrl" name="fileUrl" style="width:120px;height:100px;margin: 0 5px 5px 0;" fileUrl="'+imgURL+'" src="'+serverPath + imgURL+'" />';
    img += '</a>';
    img += '</div>';
    img += '</div>';
    from.find("#divIMG #divImgDoc").append(img);

    // 加载图片预览
    $(".fancybox").fancybox({openEffect:"none",closeEffect:"none"});
}

var getSwiper = function(data){
    var swiper = {};
    swiper.swiperId = data.swiperId;
    swiper.swiperUrl = data.swiperUrl;
    swiper.swiperTitle = data.swiperTitle;
    swiper.swiperContent = data.swiperContent;
    swiper.productId = data.productId;
    return swiper;
}